草庐IT

TypeScript 条件语句

全部标签

javascript - if 语句中的多个赋值

为什么我不能这样做:varfooElement,barElements;if(fooElement=document.getElementById('foo')&&barElements=fooElement.getElementsByTagName('bar')&&barElements[0]&&barElements[0].onclick){console.log(barElements[0].onclick);}这也行不通:varfoo,bar;if(foo=true&&bar=true){console.log('yay');} 最佳答案

javascript - 你如何在 switch 语句中使用 NaN case?

由于NaN===NaN的计算结果为false,是否可以将NaNcase添加到switch语句?例如,假设我想进行以下切换:switch(x){case1:case2:case4:doSomething();break;caseNaN:doSomethingElse();break;casedefault:doADifferentThing();break;}发送NaN作为x将转到默认情况。我知道有一些方法可以在switch语句中使用NaN(例如,我可以使用if..else语句并使用isNaN),但是有没有更直接的方法? 最佳答案 我

javascript - 我如何使用 gulp 在不同的文件中而不是在 javascript 文件中创建 Typescript sourcemaps?

我有一个使用gulp的项目。我想将typescript文件转换为javascript并拥有源map。这是我现在拥有的:varsourcemaps=require('gulp-sourcemaps');vartypescript=require('gulp-typescript');gulp.task('typescript',function(){gulp.src('app/**/*.ts').pipe(typescript()).pipe(sourcemaps.init()).pipe(sourcemaps.write()).pipe(gulp.dest('app'))});这部分有

typescript - `share()` 和 `publish().refCount()` 之间的区别

observable.publish().refCount()和observable.share()之间的实际区别是什么。我们不想使用share的场景示例是什么? 最佳答案 没有实际区别,如果您查看“observable.prototype.share”,您会发现它只是返回“source.publish().refCount()”。至于为什么要使用它,更多的问题是您需要对源开始广播时进行多少控制。由于refCount()将在第一次订阅时附加底层可观察对象,因此后续观察者很可能会错过在他们订阅之前传入的消息。例如:varsource=

javascript - typescript 重载类方法 - 相同的返回类型,不同的参数

我有一个typescript类:classContactModel{publicgetUsage(type:string):restangular.IElement{returnthis.getBase().one('usages',type);}publicgetUsage(customerId:number,type:string):restangular.IElement{returnthis.ModelFactory.createRequestMapper(ContactModel.options).one('customers',customerId).all('contac

javascript - 将 Angular 1.x 与 TypeScript 1.5 和 SystemJS 结合使用

我正在尝试将Angular1.x与TypeScript1.5.3和SystemJS结合使用。index.html页面设置为System.import('bootstrapper'),它应该启动。bootstrapper.ts被编译为bootstrapper.js并且只要它不使用Angular就可以正常工作(即只做一个console.log()正常工作)现在,我想导入并使用angular来引导它。我已经完成了jspminstallangular并且我还使用tsd安装了一些angular类型。在bootstrap.ts文件的顶部引用了类型。不幸的是,importangularfrom'an

javascript - 在 $.each 函数中使用条件来创建数组

我想遍历数组的元素,如果条件为真,我想创建一个新数组。示例:我有一个名为Messages的数组,其元素是对象,我想检查id属性是否等于5。如果是,则创建一个仅包含该对象的新数组。messages=[{"id":10,"body":"hello!"},{"id":21,"body":"hola!"},{"id":5,"body":"ciao!"}];varmessage5=[];vardataObj={};$.each(messages,function(index,value){if(value.id==5){dataObj[index]=value;}});message5.push

javascript - 通过 npm 安装 d3.js 对 Angular 2 TypeScript 项目有什么好处吗?

TL;DR:d3.js应该通过npm安装,输入也应该如此。接受的答案有详细信息。当我写这个问题时,我是Angular的新手。npm流程是标准流程:用于tree-shaking、包管理、更新等我有一个Angular2项目(为简单起见,它是快速启动项目),我正在导入d3.js版本4。d3没有TypeScript定义,因为它只是javascript。在index.html中,我添加了库:在typescriptapp.component.ts中,我引用了d3.select()....它工作正常-画了一个圆圈:d3.select("body").append("svg").attr("width

javascript - 如何使用 Node 从 WebStorm 中的 JavaScript 堆栈跟踪导航到原始 TypeScript 文件?

我是TypeScript的新手。在Mac上,我使用WebStorm2016.2.4forNodewithTypeScript2.0。使用生成的映射交互式调试工作正常,但运行时堆栈跟踪链接指向JavaScript文件,而不是原始TypeScript文件。这是正常的和预期的吗?是否有我缺少的WebStorm功能可以将这些链接转换为原始TypeScript文件和行,或者这只是TypeScript开发人员必须忍受的? 最佳答案 我通过要求模块source-map-support/register使用TypeScript源文件行号获取堆栈跟踪

javascript - 如何在 Mongoose 中构建条件查询?

以下代码适用于无查询字符串或仅适用于一个查询字符串。换句话说,只需转到/characters即可返回所有字符。但是,如果您要指定查询字符串参数/characters?gender=male,它将仅返回男性字符。我如何扩展它以使用1、2、3或无查询字符串?我真的希望避免为每个案例编写8或9个不同的if语句。我希望Mongoose会简单地忽略$where子句,如果它是null或undefined,但事实并非如此(请参阅注释掉的代码).vargender=req.query.gender;varrace=req.query.race;varbloodline=req.query.bloodl